#include<iostream>
#include<unordered_map>
const int N=2e5+10;
using namespace std;

int main()
{
	int n,c;cin>>n>>c;
	unordered_map<long long,long long> mp;
	long long ret=0;
	for(int i=1;i<=n;i++) 
	{
		int a;cin>>a;
		mp[a]++;
	}
	for(auto e:mp)
	{
		int a=e.first;
		if(mp.find(a-c)!=mp.end())
		{
			ret+=mp[a-c]*mp[a];
		}
	}
	cout<<ret<<endl;
}